Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

265
Visualizações
¿Qué significa "a.call.apply(a.bind, arguments)"?

Solo por curiosidad, quería hacer una función acotada con este enfoque particular:

 var fn = function(a, b, c) { return a.call.apply(a.bind, arguments) } var boundFn = function(a, b, c) { fn.apply(null, arguments) } function unboundedFn() { console.log(this, arguments) } var boundedFn = boundFn(unboundedFn, x, y);

Entonces, estoy tratando de entender qué hace exactamente a.call.apply (a.bind, arguments)?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si tienes una función como esta:

 function unboundedFn() { console.log(this, arguments) }

Puede usar unboundedFn.call(thisObj, arg1, arg2) o unboundedFn.apply(thisObj, [arg1, arg2]) para ejecutarlo, pero cambiando lo que this significa dentro. Tanto la call como la apply hacen lo mismo, y la única diferencia es la forma de pasar los argumentos.

Debido a que call , apply y bind también son métodos, puede ejecutar, por ejemplo, unboundedFn.call.call.call.call.apply.apply.apply.apply() , pero no parece tener mucho sentido.

En su ejemplo return a.call.apply(a.bind, arguments) es igual a return a.bind.call(...arguments) , que es igual a a.bind(...arguments.slice(1)) , por lo que toda la función fn se puede simplificar a:

 function fn(a,b,...args){ return a.bind(b, ...args); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda